import axios from 'axios'
import { ElMessage } from 'element-plus'
import { useUserStore } from '../stores/user'

const userStore= useUserStore()

const axiosInstance = axios.create({
  baseURL: 'http://localhost:5018',//后端登录地址

  timeout: 20000,//设置请求超时时间 10s
})
// 请求拦截器
axiosInstance.interceptors.request.use(config => {
  const token = userStore.userinfo.Token; // 替换为你的 JWT
  if (token) {
    config.headers.Authorization= `Bearer ${token}`;
  }
  return config;
}, error => {
  return Promise.reject(error);
});
// 响应拦截器
axiosInstance.interceptors.response.use(
  (response) => {
    if(!response.data.isSuc)
    {
        ElMessage.error(response.data.message)
        return
    }
    //请求成功
    //ElMessage.success(response.data.msg);

    //如果响应数据中包含data字段，直接返回data字段内容
    return response.data
    }
  ,
  (error) => {
    //错误处理
    //只要不等于200 都会进入这里
    //解析错误信息
    const {response,message} = error;
    if(response){
        switch(response.status){
            case 401:
                ElMessage.error("未授权，请重新登录"+response.data);
                //跳到登录页面
                break;  
                default:
                    console.log(`请求错误：${response.status}`);
        }
    }else{
        ElMessage.error("网络连接异常" + message);
    }
    return Promise.reject(error)
  }
)

export default axiosInstance
